// rollup 可以默认导出一个对象，作为打包的配置文件
// 为啥vue2只能支持ie9
// 因为vue2使用了Object.defineProperty来实现响应式，而Object.defineProperty只支持ie9及以上版本 没有降级方案
// proxy 是 es6 新增的特性，不支持 ie9 及以下版本
import babel from "rollup-plugin-babel";

export default {
  input: "src/index.js", //入口
  output: {
    file: "dist/vue.js", //出口
    name: "Vue", //全局变量名
    /**
     * 打包格式
     * 1.「esm:」es模块
     * 2.「cjs:」commonjs模块
     * 3.「iife:」立即执行函数
     * 4.「umd:」浏览器环境可以直接使用的模块, 通用模块格式（兼容浏览器 + Node + AMD）
     */
    format: "umd",
    sourcemap: true, // 可以生成 sourcemap 文件 用来调试
    plugins: [
      babel({
        exclude: "node_modules/**", // 排除 node_modules 目录
      }),
    ],
  },
};
